package controlador;
import java.rmi.Naming;
import java.rmi.RemoteException;

import vistas.*;

import modelo.InterfazRemota;
import modelo.MesaDTO;
import modelo.MozoDTO;
import modelo.ProductoDTO;



public class Controlador {

	//aca se llaman los metodos de la interfaz remota que esta en el repositorio
	//usando los metodos que estan en cada ventana
	
	private InterfazRemota SistRest;
	private MainMenu mainMenu;
	private AbrirMesa vistaAbrirMesa;
	private AgregarMozo vistaAgregarMozo;
	private AgregarUnaMesa vistaAgregarUnaMesa;
	private AgregarUnPedido vistaAgregarUnPedido;
	
	public Controlador(InterfazRemota ir, MainMenu menu) throws RemoteException, Exception{
		this.SistRest = ir;
		this.mainMenu = menu;
		this.mainMenu.setControlador(this);
	}
	
	
	public void ProcesarAbrirMesa (){
		this.vistaAbrirMesa = new AbrirMesa(this.SistRest);
		this.vistaAbrirMesa.setControlador(this);
	}
	
	
	public void agregarMozo(String nombre, String apellido) throws RemoteException{
		MozoDTO mozo = new MozoDTO();
		mozo.setNombre(nombre);
		mozo.setApellido(apellido);
		SistRest.agregarMozo(mozo);
	}


	public void agregarMesa(Integer numero) throws RemoteException {
		MesaDTO mesa = new MesaDTO();
		mesa.setNroMesa(numero);
		SistRest.agregarMesa(mesa);
		
	}
	
	public void cerrarMesa(Integer numero) throws RemoteException {
		MesaDTO mesa = new MesaDTO();
		mesa.setNroMesa(numero);
		SistRest.cerrarMesa(mesa);
		
	}

	public void agregarPedido(String nom, String mar, String pre, Integer cant,
			Integer nroMesa) throws RemoteException {
		// TODO Auto-generated method stub
		ProductoDTO prod = new ProductoDTO();
		prod.setCant(cant);
		prod.setMarca(mar);
		prod.setNombre(nom);
		prod.setPrecio(pre);
		MesaDTO mesa = new MesaDTO();
		mesa.setNroMesa(nroMesa);
		SistRest.agregarPlato(mesa, prod);
	}
	
	public void abrirMesa(Integer numero) throws RemoteException {
		MesaDTO mesa = new MesaDTO();
		mesa.setNroMesa(numero);
		SistRest.abrirMesa(mesa);
		
	}
	
}
